<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>03_函数</title>
</head>
<body>
<script>
    console.log(parseInt(6));//6
    console.log(parseInt('hhhhhh'));//NaN
    console.log(parseInt('45hhhhfds546'));//45
    console.log(parseInt(''));//NaN
    //1.JS通过function通过关键字定义函数
    function f1(){
        console.log("f1函数");
    }
    f1();

    //2.带参数的函数
    function f2(n){
        console.log("f2函数"+n);
    }
    f2(1);//实参
    f2(false);
    f2('hello');

    //3.形参与实参的个数
    function f3(x,y){
        console.log(x+y);
    }
    f3(1,2);//3
    f3(1);//NaN,1+undefined=NaN,实参个数少于形参个数：未被赋值的参数为undefined
    f3(1,2,3);//3，实参多于形参个数：多出来的参数被舍弃

    //4.arguments
    function f4(){
        console.log(arguments);
    }
    f4(50);
    f4(50,60);
    f4(50,60,70);

    //5.返回值
    function f5(a,b){
        return a+b;
    }

    var res = f5(1,2);
    console.log(res);
    console.log(f5(1,2));

    //第二种函数声明方式
    var f6 = function(){
        console.log("f6函数")
    }
    f6();//可以通过变量名直接充当函数名来调用函数
    console.log(f6);//f(){console.log('f6函数');} function

    //第三种函数声明方式
    //将函数整体交给常量f7来保存，调用时直接通过常量名调用即可
    const f7 = (n) => {
        console.log('箭头函数' + n);
    }
    f7(6666);
    f7('你好');
</script>
</body>
</html>